另一種也很直覺的切方方式是 Round-Robin Sharding,簡單來說就是輪流分配,假設有三台主機,將資料輪流分配到第一、二和三號主機上;若有五台主機,則輪流分配到第一、二、三、四和五號主機上,以此類推。這樣的設計讓計算很簡單,直接除以節點數量取餘數的方式,就可以知道每筆資料會被分配在哪一個節點上。
由於現實資料通常不會像上圖一樣那麼平均分布,例如:1、2、5、8、14、17、20、21、23 直接用同樣的方式切分在3台主機時,DB 2 號負擔明顯多過其他兩台。
為了處理這種情況,針對資料先進行 Hash 後再切分到多台主機上,透過挑選符合資料特性的 Hash 函式,就可以達到平均切分的效果。
Round-Robin 的切分方式的好處是它可以確保資料平均分布在各個節點,但需要注意當節點數量異動的成本高昂,很可能為了搬遷資料將所有資源耗盡,無法進行其他運算,因此不適合在節點數量變動頻繁的系統中使用這種設計。以下圖為例,當今天節點數量從 5 個變為 4 個時,有高達 60% 的資料都需要被搬遷。